The present invention relates to management of hierarchies.
Typically, hierarchical information in a computer system is visualized for a user using a tree structure. A tree is a hierarchy having a root-node (R) and a plurality of sub-nodes (S), wherein the root-node has no parent-node (P) and each sub-node has one parent-node and can have multiple child-nodes. The hierarchy can have any number of hierarchy levels.
For example, Microsoft® Windows® Explorer displays the hierarchical directory structure of a hard drive by using a tree graphic. The root-directory of the hard drive (e.g., C:\) corresponds to a root-node at the top of the tree. Sub-directories (e.g., Program Files, Documents and Settings) of the root-directory are listed below as child-nodes of the root-node by using connection lines to the root-node indicating their hierarchical relationship. Each sub-directory can have further sub-directories with a corresponding visualization.
Some applications use tree structures to control access to an object represented by a node. Some applications use tree structures to customize a complete application system according to the individual needs of an enterprise by activating or deactivating components of the application system. In both examples, nodes in the tree can be activated (access allowed, component active) and deactivated (access denied, component inactive) to achieve the desired effect.
In some cases there is a need to temporarily deactivate nodes in a tree. For example, in preparation of a system upgrade, a system administrator may temporarily deactivates the access to all nodes in a tree by deactivating the root-node of the tree. Typically, this implies the deactivation of all sub-nodes in the tree. It is not possible to change the status of a node within a deactivated tree or sub-tree. After the system upgrade, the previous activation status of all sub-nodes in the tree has to be reestablished. In prior art systems, this is usually done manually by the system administrator.